home *** CD-ROM | disk | FTP | other *** search
- Path: trib.apple.com!NewsWatcher!user
- From: Andrew_Carol@quickmail.apple.com (Andrew)
- Newsgroups: comp.lang.c++
- Subject: Re: Calling the wrong constructor
- Date: Thu, 18 Apr 1996 20:00:06 -0800
- Organization: Apple Computer, Inc., Cupertino, California
- Message-ID: <Andrew_Carol-1804962001240001@17.127.18.252>
- References: <4kot87$796@earth.njcc.com>
- NNTP-Posting-Host: 17.127.18.252
-
- In article <4kot87$796@earth.njcc.com>, mike@pluto.njcc.com (Michael
- Hohenshilt) wrote:
-
- > This might seem like a basic question, but lets say you something set u
- > like the following:
- >
- > class Parent { Parent() { allocsomething} ~Parent() { deletesomething }... };
- > class Foo : Parent { Foo() { allocsomething } ~Foo() {deletesomething }... };
- > class Contain { Parent *ptr; ... };
- >
- > both parent, and foo allocate memory, and will free it up when being
- > destructed. Contain just holds a pointer of type Parent, and its
- > constructor takes such a pointer as a parameter.
- > If I store a pointer of type Foo into contain.ptr and discard that
- > pointer. Is there any way to have contain (via destructors) free up all
- > memory allocated by Foo and/or Parent?
-
-
- Assuming that "Contain" keeps a copy of the 'ptr'...
-
- ~Contain() { delete ptr; }
-
- This will call the destructor of Foo and Parent...
-
- Good luck!
-
- --
- Andrew Carol "Could be worse. Could be raining."
- carol@quickmail.apple.com
-